An entity having a customer database often needs to verify the street address of the customer for various reasons, such as dispatching a technician to the correct address or sending a bill to the correct address. An automated process is needed to decompose street addresses into meaningful sub-components, such as house number, street name, apartment or suite number, etc. This is a challenging task due to the fact that there are numerous ways in which addresses can be written. Some of the difficulties include variations in sub-component ordering, omission of street directionals, thoroughfare codes used as legal street names, etc.
There are several methods that address this need. One known method is the grammar-based method. This method provides a predetermined format defining how a street address should be written. This system, however, has limited capability since it recognizes addresses written in a style adhering to a set of strict rules regarding mandatory components and their ordering. As a result, this method only recognizes addresses that fit the predetermined format.
A second known method is the table-driven method. The table-driven method defines a fixed set of token types. Words in address strings are each assigned a token type to form a token sequence. A customizable conversion table is then used by the address processor to change one or more token types in the token sequence. However, if a word in the address string is not listed in the table, the system cannot process that word. Another limitation of this method is that the conversion table can be very large and, thus, very costly to build and maintain.
A third known method is the utilization of a hard-wired program coded to convert address strings into various components. However, this method can be very complex in order to handle all the different variations of writing a street address. This system is also costly to build. Once built, adding ability to recognize additional addresses or changing the way to recognize some addresses is very difficult.
The known prior art fails to disclose a flexible method of recognizing variations in writing street addresses. The known prior art also fails to disclose a customizable method of recognizing unlimited variations in the way street addresses are written.